package com.starlink.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.starlink.common.PageInfoTwo;
import com.starlink.model.domain.UserProductCollectDO;
import com.starlink.model.request.UserProductCollectRequest;
import com.starlink.model.request.save.UserProductCollectSaveRequest;
import com.starlink.model.vo.UserProductCollectVO;

import java.util.List;

/**
 * @author zhanghong
 */
public interface UserProductCollectService extends IService<UserProductCollectDO> {

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    UserProductCollectVO getByKey(long id);
    /**
     * 分页查询，手动分页
     * @param request
     * @return
     */
    PageInfoTwo<UserProductCollectVO> pageQuery(UserProductCollectRequest request);
    /**
     * 列表查询
     * @param request
     * @return
     */
    List<UserProductCollectVO> listQuery(UserProductCollectRequest request);
    /**
     * 收藏新增
     * @param request
     * @return
     */
    int add(UserProductCollectSaveRequest request);
    /**
     * 根据主键更新
     * @param request
     * @return
     */
    Boolean updateByKey(UserProductCollectRequest request);
    /**
     * 根据主键删除
     * @param ids
     * @return
     */
    Boolean deleteDOByIds(String ids);

    /**
     * 更具书籍ID查询收藏ID
     * @param mallBooksId
     * @return
     */
    Long selectByBookId(Long mallBooksId,Long userId);
}
